﻿using System;
using System.Collections.Generic;
using System.Text;

namespace C4F.DevKit.Contacts.Controls
{
    /// <summary>
    /// Represents the filter criteria when searching for contacts.
    /// </summary>
    /// <remarks>The filter criteria does not require wildcards. The search will return all items where the filter criteria is contained anywhere within data. For instance, a filter criteria of "L" will return "AL", "algorithm", "language", etc.</remarks>
    public class ContactsSearchFilter
    {
        #region Private Data

        private string _firstName = string.Empty;
        private string _lastName = string.Empty;
        private string _streetAddress = string.Empty;
        private string _city = string.Empty;
        private string _state = string.Empty;
        private string _country = string.Empty;

        #endregion Private Data

        #region Properties

        /// <summary>
        /// First name criteria.
        /// </summary>
        public string FirstName
        {
            get
            {
                return _firstName;
            }
            set
            {
                _firstName = value;
            }
        }

        /// <summary>
        /// Last name criteria.
        /// </summary>
        public string LastName
        {
            get
            {
                return _lastName;
            }
            set
            {
                _lastName = value;
            }
        }

        /// <summary>
        /// Street address name criteria.
        /// </summary>
        public string StreetAddress
        {
            get
            {
                return _streetAddress;
            }
            set
            {
                _streetAddress = value;
            }
        }

        /// <summary>
        /// City criteria.
        /// </summary>
        public string City
        {
            get
            {
                return _city;
            }
            set
            {
                _city = value;
            }
        }

        /// <summary>
        /// State criteria.
        /// </summary>
        public string State
        {
            get
            {
                return _state;
            }
            set
            {
                _state = value;
            }
        }

        /// <summary>
        /// Country criteria.
        /// </summary>
        public string Country
        {
            get
            {
                return _country;
            }
            set
            {
                _country = value;
            }
        }

        #endregion Properties
    }
}
